package cn.sofwin.day0205;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class WriteTest {
    public static void main(String[] args) {
        // 写文件
        String filePath = "D:/dev/java/works/java2021/src/cn/sofwin/day0205/test.txt";
        String content = "hello, 想你了";
        writeStringToFile(filePath, content);
    }

    static void writeStringToFile(String filePath, String content){
        File file = new File(filePath);
        byte[] data = content.getBytes();
        // try-with-resouce
        // 在try-catch代码块执行完成后会自动调用try（）定义的对象的close方法
        // 不需要程序员手动在 finally 代码块中编写关闭流的操作
        // 如果希望以追加的方式写文件，需要传递构造方法参数
        try (OutputStream os = new FileOutputStream(file, true)){
            // 写入文件
            os.write(data);

            // 对于输出流，要多一个刷新缓冲的操作
            os.flush();
        }catch (IOException io){
            io.printStackTrace();
        }
    }
}
